home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 015a / scanbat.zip / MANUAL.DOC < prev    next >
Text File  |  1990-10-25  |  71KB  |  2,509 lines

  1.  
  2.  
  3.  
  4.                     S C A N L O N    E N T E R P R I S E S
  5.  
  6.                   B A T C H     F I L E     U T I L I T I E S
  7.  
  8.                              Version 2.2  (SEBFU)
  9.  
  10.                                    (C) 1989
  11.  
  12.  
  13.  
  14.  
  15.                            U S E R S     M A N U A L
  16.  
  17.  
  18.  
  19.  
  20.  
  21.        Don't  forget to register SEBFU, just print the REG.DOC file.  To
  22.        print  the file, enter TYPE REG.DOC > PRN   or COPY  REG.DOC  PRN
  23.        at your DOS prompt. Alternately, you can print it using any  text
  24.        or wordprocessor.
  25.  
  26.  
  27.        SEBFU may be run on any single user system, or in Network systems
  28.        with  less than 4 users, without obtaining a site license.   Site
  29.        licenses are available at reasonable rates, just call (805)  272-
  30.        4827 or write us at 38354 17th St. E #D, Palmdale, CA 93550.
  31.  
  32.        SEBFU  is a series of small utilities which when combined,  offer
  33.        an  improvement over the stand alone Dos environment, in  running
  34.        batch  files.  These utilities will allow the user to detect  and
  35.        react to many different system types, in creating batch files and
  36.        menu  systems.   To  get  an idea of how  to  use  the  utilities
  37.        together, just run our demo (by entering GO at the Dos prompt).
  38.  
  39.        SEBFU  is for any user of IBM and compatibles who wishes to  make
  40.        their  system  easier  to use, for  system  integrators  and  for
  41.        software  distributors.   System integrators will  find  creating
  42.        batch files and menus easy and convenient.  Software distributors
  43.        will  want  to  make  batch files to  help  the  end  users  with
  44.        installation and automate backups'.
  45.  
  46.        SEBFU (version 2.2) has over 100 commands, which will enhance and
  47.        add power to batch files.  These utilities allow for the creation
  48.        and  maintenance  of menus, retrieval of single or  multiple  key
  49.        strokes in response to questions or menu queries, check for  many
  50.        system drivers (such as the mouse driver), complete control  over
  51.        the  cursor  and  screen colors, checking  the  disk  drives  and
  52.        printer, get and display directory listings and files, much more.
  53.  
  54.        GETTING STARTED:
  55.  
  56.        To  print  this document, just enter GO at the  Dos  prompt,  and
  57.        select print manual at the menu.
  58.  
  59.        SYSTEM REQUIREMENTS
  60.  
  61.        IBM  or  compatible  with  1 disk  drive  and  128K  ram.   These
  62.        utilities  will work with monochrome or color systems,  including
  63.        EGA  and VGA, excepting the use of color commands  on  monochrome
  64.        systems.
  65.  
  66.  
  67.  
  68.  
  69.  
  70.        D O S
  71.  
  72.        DOS is the operating system of your IBM or compatible, whether it
  73.        be PC-Dos or MS-Dos.  Both Dos systems are made by Microsoft  and
  74.        for  our purposes are identical.  DOS stands for  Disk  Operating
  75.        System,  allows execution of applications such as  wordprocessors
  76.        and spreadsheets.  Most users don't see or interact directly with
  77.        Dos, but only with the command interpreter which is supplied with
  78.        it.  The command interpreter is a file called COMMAND.COM .  This
  79.        is  the program which we as users, see each time we boot  up  our
  80.        systems and eventually see the Dos prompt.
  81.  
  82.        COMMAND.COM is often called a SHELL. What this means, is that  it
  83.        hides the rest of Dos from us, and allows us to communicate  with
  84.        our computers in a language which is easier to understand.
  85.  
  86.        DOS offers us a medium for interfacing and controlling our system
  87.        environment  such  that  files  are  stored  in  a  logical   and
  88.        meaningful   fashion   on   disks.    Without   this   interface,
  89.        applications  would be placing files almost anywhere on the  disk
  90.        drive, thus possibly overwriting another applications file.  This
  91.        Dos  environment  also offers us a common medium  to  communicate
  92.        with  the  IBM  components  such as  the  monitor,  keyboard  and
  93.        printers.
  94.  
  95.        COMMAND.COM  allows us to enter the name of some application,  at
  96.        the  Dos prompt, then will execute that application,  by  parsing
  97.        the  name  to  Dos,  which  then  causes  the  execution  of  the
  98.        application.   While our application, COMMAND.COM is out  of  the
  99.        picture  (except for a very small part which stays in  ram),  and
  100.        the application corresponds directly with Dos, to perform all  of
  101.        the necessary tasks.
  102.  
  103.        What  can COMMAND.COM do ?  COMMAND.COM can act as  an  interface
  104.        between you and many of the utilities (such as FORMAT) which  are
  105.        provided along with Dos.  For example, when you want to format  a
  106.        disk, you simply enter FORMAT at the Dos prompt, followed by  the
  107.        drive letter of the drive to format.  Another useful Dos  utility
  108.        is the COPY command, which copies files from one disk to another.
  109.        What  about  the directory command DIR ?  Another well  used  Dos
  110.        utility,  which  will  display  one or  more  files,  giving  you
  111.        information about the file(s), such as size and time and date  of
  112.        creation.
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.        Each IBM or compatible may have one or more disk drives, and each
  135.        drive  may  have one or more directories.  As you  know,  a  disk
  136.        drive  is  a device to store many bytes (thousands of  bytes)  of
  137.        information or programs.  A directory is one of the ways Dos  has
  138.        of letting us name files.  Without directories, hard disk systems
  139.        would  soon  become  cluttered  with hundreds  of  files  in  one
  140.        directory, and we would become confused as to what file were  for
  141.        what.   Not only that, but with the 8 character limit imposed  on
  142.        us by Dos, we would soon be having trouble making up names.
  143.  
  144.  
  145.        D I R E C T O R I E S
  146.  
  147.        A directory is much like a file cabinet, which contains  drawers,
  148.        except,  that  each drawer may contain additional  drawers.   The
  149.        root  directory is much like the office which contains  the  file
  150.        cabinet,  and  can contain many such file cabinets.   We  can  of
  151.        course clutter our office with files, but we could loose them, or
  152.        accidentally  throw  it  away  (erase  it).   Thus  not  only  do
  153.        directories offer us storage, but helps us keep from accidentally
  154.        erasing  the  files.   Just like a  real  filing  cabinet,  these
  155.        directories  help us organize, and keep different types  of  data
  156.        separate.
  157.  
  158.        DOS  can be considered somewhat like an office worker,  who  must
  159.        find  files  for the boss (you).  If the files were  just  strewn
  160.        across  the office, they would be harder to find, so just like  a
  161.        secretary, we keep our files in directories in some  recognizable
  162.        format, so we and Dos can find them faster.
  163.  
  164.        Another  reason, to have directories, is because Dos simply  will
  165.        not  allow  you  more  than 112  files  in  the  root  directory,
  166.        including  directory names.  On a floppy, this limitation is  not
  167.        so  bad, but with hard disks, this can really be a  problem.   As
  168.        you  may already know, Dos does allow more than 112 files in  the
  169.        root  directory  of  a hard disk.  The maximum  number  of  files
  170.        allowed on a hard disk is usually 500, but even that is too  few,
  171.        once  we  start  using  our  programs,  such  as  wordprocessors,
  172.        spreadsheets and databases.
  173.  
  174.  
  175.        STARTING DOS
  176.  
  177.        Starting Dos is usually a simple matter of placing your Dos  boot
  178.        disk into your floppy drive and turning your machine on.  Systems
  179.        with hard drives don't even have that requirement, simply turning
  180.        the system on causes Dos to start.  For those of you who have and
  181.        know  about the Dos Config file and Autoexec batch  file,  please
  182.        skip  the  rest  of  this section and  start  on  page  5,  SEBFU
  183.        commands.
  184.  
  185.  
  186.        You  are  presumably  reading this page because  you  would  like
  187.        information  about your Dos config file and autoexec  file.   The
  188.        config file is the first file that is loaded after the actual Dos
  189.        operating   system  loads  (including  COMMAND.COM).  This   file
  190.        contains  information such as the number of files a  program  can
  191.        open  at  one time, the number of file buffers,  the  loading  of
  192.        device drivers, the number of drives on your system and  finally,
  193.        the type of shell (like COMMAND.COM) to load.  Here are the lines
  194.        we  consider (and so do many other vendors) important to have  in
  195.        your config file :
  196.  
  197.                  FILES=20        {Maximum files a program can open}
  198.                  BUFFERS=10      {Number of file buffers}
  199.                  LASTDRIVE=F     {Last available drive in your system}
  200.                  SHELL=A:\COMMAND.COM /P /E:1000
  201.  
  202.        Notice  the last line above, this is what starts COMMAND.COM  the
  203.        Dos shell.  Here, we have specified that 1000 bytes be set  aside
  204.        for the Dos environment, which is a set of variables that Dos and
  205.        applications can share, to pass information back and forth.   The
  206.        '/P'  specifies  that  this shell will  remain  resident  without
  207.        returning  to  another  level. This line only  functions  in  Dos
  208.        versions 3.0 and greater.
  209.  
  210.        A common AUTOEXEC batch file would look like this.
  211.  
  212.          ECHO OFF                {disable command echoing}
  213.          CLS                     {clear the monitor}
  214.          PROMPT=$P$G             {set the Dos prompt to display drive
  215.                                   and directory}
  216.          PATH=A:\                {tell Dos to look at the root directory
  217.                                   of drive A for commands it can't find
  218.                                   on the current drive and directory}
  219.          TIMER                   {Sets the Dos time and Date on XT's
  220.                                   which have a real time clock}
  221.  
  222.        This  last  line  above requires a  file  called  TIMER.COM,  not
  223.        supplied with Dos, or you may substitute your own driver name.
  224.  
  225.        If  you  have  more commands than the above  in  your  config  or
  226.        autoexec files, don't worry, there are many  more commands  which
  227.        can  be included, we have just placed the minimum lines  required
  228.        for good Dos operation, and use of our batch file utilities.   If
  229.        both  these  files exist on your system, and  these  lines  don't
  230.        exist  in them, you can add these lines by using any text  editor
  231.        or  most  wordprocessors.  If you have any doubts,  consult  your
  232.        system or Dos manual, or call your dealer.
  233.  
  234.  
  235.  
  236.  
  237.  
  238.        SEBFU COMMANDS
  239.  
  240.  
  241.        ADD       Syntax : ADD var v
  242.  
  243.        Where  'var'  is any legal Dos variable, previously  assigned  at
  244.        least zero (set var=0) and 'v' is the amount to add to 'var', and
  245.        is in the range of 0 thru 9, with a default value of 1, if 'v' is
  246.        not specified.
  247.  
  248.        This  command  enhances the use of batch files by  allowing  loop
  249.        control.   The  variable specified in the add  (after  previously
  250.        being assigned by the Dos SET function), can be tested by the Dos
  251.        IF function as follows :
  252.  
  253.          IF var==v command
  254.  
  255.        Where 'var' is the variable, 'v' the the value sought and command
  256.        is any legal Dos command, including the SEBFU utilities.
  257.  
  258.        EXAMPLE :
  259.  
  260.                  ECHO OFF
  261.                  CLS
  262.                  SET ADD=0
  263.                  :LP
  264.                  IF %ADD%==5 GOTO DONE
  265.                  ADD ADD
  266.                  ECHO Loop %ADD%
  267.                  GOTO LP
  268.                  :DONE
  269.                  ECHO Process complete
  270.  
  271.        In the above example, we start off with by turning echo mode off,
  272.        then  clearing the display and finally setting the initial  value
  273.        of  ADD (required) to 0.  The label LP starts our loop, where  we
  274.        first  check our current value, with the Dos IF function,  for  a
  275.        value of 5, and if the value is 5, the we jump to the label DONE.
  276.        Notice  that  this  test is made by using  a  double  equal  sign
  277.        following  the  IF  function.   This  is  required  by  Dos,   to
  278.        distinguish  it from the set function, which we used on  line  3.
  279.        The  line  after  the IF increments the ADD variable  by  1  (the
  280.        default  value). The ECHO line displays the message  about  which
  281.        loop  we are in and the GOTO loops the batch file execution  back
  282.        to the LP label.  If the test made in the IF line is true (ADD is
  283.        equal  to 5) then the batch file branches to the label DONE,  and
  284.        then  on to the last ECHO line which declares the batch  file  is
  285.        completed.  Notice that labels are prefixed with a colon, this is
  286.        required  by  Dos,  and  is  the  only  way  the  label  can   be
  287.        distinguished  from a command.  This short batch file is  on  our
  288.        disk and is called ADD.BAT .
  289.  
  290.        BEEP      Syntax : BEEP [n] [P] [K]
  291.  
  292.        Where 'n' specifies the number of beeps, 'P' causes the beeps  to
  293.        occur  every  second (instead of right away) and 'K'  causes  the
  294.        beeps to occur every second until a key is pressed.
  295.  
  296.        EXAMPLE :
  297.  
  298.                  ECHO OFF
  299.                  CLS
  300.                  ECHO We will beep 5 beeps rapidly
  301.                  BEEP 5
  302.                  ECHO Now we will beep 5 beeps at 1 second intervals
  303.                  BEEP 5 P
  304.                  ECHO Finally we will beep until you press any key
  305.                  BEEP K
  306.                  ECHO Beep demonstration complete.
  307.  
  308.        This short batch file goes thru each possible option,  displaying
  309.        a message announcing each test.  The last test requires the  user
  310.        to  press any key to stop the beeping.  NOTE, entering BEEP on  a
  311.        line by itself (no parameters), causes one single beep.
  312.  
  313.  
  314.        BIGLTR    Syntax : BIGLTR message, bc fc
  315.  
  316.        Where 'message' is any 10 alpha numeric characters (ascii  values
  317.        in  the  range of 0 thru 255), 'bc' is the background  color  and
  318.        'fc'  the foreground color.  This command will display,  starting
  319.        at the current row and column, any text included in 'message', as
  320.        long  as you do not exceed the 10 character limit.  If  'message'
  321.        is longer than 10 characters, then 'message' will be truncated at
  322.        the  tenth character.  The characters so displayed will be  large
  323.        characters of 9 rows by 8 columns.
  324.  
  325.  
  326.  
  327.        CDCK      Syntax : CDCK
  328.  
  329.        Simply  returns  an  errorlevel  of 1 if  the  CD-Rom  driver  is
  330.        present, else returns an errorlevel of 0.
  331.  
  332.        EXAMPLE :
  333.                  CDCK
  334.                  IF ERRORLEVEL 1 ECHO CD-ROM driver installed
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.        CDD       Syntax : CDD n
  399.  
  400.        Where  'n' is the number of directory levels to move  toward  the
  401.        root directory.
  402.  
  403.        Assume your are on drive C and in the directory \A\B\G\Y\TUG
  404.  
  405.        Then execution of this line :
  406.  
  407.                  CDD 3
  408.  
  409.        Would place you in the directory \A\B
  410.  
  411.  
  412.  
  413.        CGABORDR  Syntax : CGABORDR n
  414.  
  415.        Changes the CGA border color to the selected value of 'n'.
  416.  
  417.        Example :
  418.                  CGABORDR 1
  419.  
  420.        Will  produce a blue border.  Colors are in the range of  0  thru
  421.        15, see your Dos or Basic manual for more information on colors.
  422.  
  423.  
  424.  
  425.        CHGC      Syntax : CHGC sr sc er ec bc fc
  426.  
  427.        Changes   the  screen  colors,  without  affecting   the   screen
  428.        characters, for the selected screen range.
  429.  
  430.        Where  'sr'  is the start row, 'sc' the start  column,  'er'  the
  431.        ending row, 'ec' the ending column, 'bc' the background color and
  432.        'fc' the foreground color.
  433.  
  434.        EXAMPLE :
  435.  
  436.                  CHGC 5 5 20 75 1 7
  437.  
  438.        Will  change the screen colors starting at row 5, column  5  thru
  439.        row 20, column 75 to white on blue.
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.        CHGLOCK   Syntax : CHGLOCK [C] [N] [S]
  465.  
  466.        Toggles  the  existing  state of the selected  lock  key,  where,
  467.        C=caps  lock, N=num lock and S=Scroll lock.  CHGLOCK without  any
  468.        parameters causes all current settings to reverse (toggle).
  469.  
  470.  
  471.        EXAMPLE 1 :
  472.  
  473.                  CHGLOCK C
  474.  
  475.        Will  just toggle the caps lock. If caps lock was on,  then  caps
  476.        lock will be toggle off.
  477.  
  478.        EXAMPLE 2 :
  479.  
  480.                  CHGLOCK NC
  481.  
  482.        Will  toggle both caps lock and num lock. Both locks will be  the
  483.        reverse of what they were prior to executing CHGLOCK.
  484.  
  485.        EXAMPLE 3 :
  486.  
  487.                  CHGLOCK
  488.  
  489.        This will toggle all 3 locks.
  490.  
  491.  
  492.        CHKSUM    Syntax : CHKSUM fname n
  493.  
  494.        Where  'fname' is the file to get a check sum for, and 'n' is  an
  495.        optional checksum value to compare the calculated one with.
  496.  
  497.        EXAMPLE 1 :
  498.  
  499.                  CHKSUM fname
  500.  
  501.        Displays the checksum for file 'fname'
  502.  
  503.        EXAMPLE 2 :
  504.  
  505.                  CHKSUM fname 123
  506.  
  507.        Returns an errorlevel of 0 if the checksum of 'fname' matches the
  508.        value 123, else will return an error level of 1.
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.                  CK101
  518.  
  519.        Returns  an errorlevel of 0 if a 101 type keyboard  is  attached,
  520.        providing  the  Rom  Bios supports this  mode,  else  returns  an
  521.        errorlevel of 1.
  522.  
  523.  
  524.                  CKCLK
  525.  
  526.        Returns  an  errorlevel of 1 if Dos reports the  year  1980  else
  527.        returns  an errorlevel of 0. Use this as a first guess  that  the
  528.        Dos time and date has been set.
  529.  
  530.  
  531.                  CLR sr sc er ec bc fc
  532.  
  533.        Clears  the screen starting at the specified row 'sr' and  column
  534.        'sc'  thru  row 'er' and column 'ec' using the  specified  colors
  535.        'bc' (background) and 'fc' (foreground).
  536.  
  537.        EXAMPLE 1:
  538.                  CLR 1 1 25 80
  539.  
  540.        Clears  lines 1 thru 25, columns 1 thru 80 using what ever  color
  541.        exists at the current cursor location.
  542.  
  543.        EXAMPLE 2:
  544.                  CLR 1 1 25 80 1 7
  545.  
  546.        Same as example 1, but uses the selected color of white on blue.
  547.  
  548.  
  549.                  CLRKEY
  550.  
  551.        Clears  the type ahead buffer.  Prevents the user  from  entering
  552.        responses in advance of the questions or prompts.
  553.  
  554.  
  555.                  COFF
  556.  
  557.        Toggles the cursor off on most MGA and CGA systems, but will  NOT
  558.        always work on MGA systems, and won't work on EGA or VGA systems.
  559.  
  560.  
  561.                  COLOR bc fc
  562.  
  563.        Sets  the  screen colors, providing that ANSI.SYS or  other  ANSI
  564.        driver  has been installed.  The colors are set to  the  selected
  565.        background 'bc' and foreground 'fc' color.  Prior to using  this,
  566.        use our DETANSI function to check for the existence of the driver
  567.  
  568.                  CR [T]
  569.  
  570.        Waits  for the ENTER key to be pressed.  All key  strokes  simply
  571.        cause the speaker to beep. Or optionally by entering the T switch
  572.        on the command line, will exit with an errorlevel of 1 if control
  573.        C is pressed.
  574.  
  575.  
  576.                  CT
  577.  
  578.        Toggles  the cursor on or off, depending upon which state  it  is
  579.        currently in.  CT does NOT work on all systems.
  580.  
  581.  
  582.                  CUON
  583.  
  584.        Makes the cursor visible.
  585.  
  586.  
  587.                  CURKEY
  588.  
  589.        Returns  an  errorlevel of 1 thru 4 depending upon which  of  the
  590.        four cursor control keys is pressed.  The four values are :
  591.  
  592.                  1 = up arrow          2 = down arrow
  593.                  3 = left arrow        4 = right arrow
  594.  
  595.        If  the enter key is pressed or escape keys are pressed,  the  an
  596.        errorlevel  of 0 is returned, any other key press will result  in
  597.        the speaker beeping.
  598.  
  599.  
  600.                  DAYOFMO
  601.  
  602.        Returns  an  errorlevel of 1 thru 31 for the current day  of  the
  603.        month  as  reported by Dos.  Dos must have the correct  time  and
  604.        date for this to function properly.  To determine if the Dos time
  605.        and Date are set, use our CKCLK function.
  606.  
  607.  
  608.                  DAYOFWK [mm-dd-yy] [D]
  609.  
  610.        In the functions basic format, returns an errorlevel representing
  611.        the  day of week (Sunday = 1 .... Saturday = 7).  In  the  second
  612.        format, the user specifies the date to return the day of week for
  613.        in the format 'mm-dd-yy' and finally the last format returns  the
  614.        day  of month, by appending the letter 'D' (upper or lower  case)
  615.        after the function name.
  616.  
  617.  
  618.  
  619.  
  620.        {DAYOFWK} continued
  621.  
  622.        EXAMPLE 1:
  623.  
  624.                  DAYOFWK
  625.  
  626.        Returns  an  errorlevel  of  1 thru 7 for the  day  of  week,  as
  627.        reported by Dos, where Sunday is 1 and Saturday is a 7.
  628.  
  629.        EXAMPLE 2:
  630.  
  631.                  DAYOFWK 01-23-87
  632.  
  633.        Returns  an  errorlevel of 1 thru 7 for the day of week  for  the
  634.        selected  date  of Jan. 23rd, 1987, where 1 is Sunday  and  7  is
  635.        Saturday.
  636.  
  637.        EXAMPLE 3:
  638.  
  639.                  DAYOFWK D
  640.  
  641.        Returns an errorlevel of 1 thru 31 for the day of the month,  for
  642.        the month and year as reported by Dos.
  643.  
  644.  
  645.                  DBLBOX sr sc er ec bc fc Pp
  646.  
  647.        Draws  a  double line graphics box starting at row  'sr',  column
  648.        'sc'  and  ending at row 'er' column 'ec', using  the  background
  649.        color 'bc' and foreground color 'fc' on page 'p' (prefixed by the
  650.        P {upper or lower case}).
  651.  
  652.        EXAMPLE 1:
  653.  
  654.                  DBLBOX 5 5 10 25
  655.  
  656.        Places a double box starting on row 5 column 5 and ending at  row
  657.        10 column 25, using the colors as existing at row 5, column 5.
  658.  
  659.        EXAMPLE 2:
  660.                  DBLBOX 5 5 10 25 1 7
  661.  
  662.        Same as above, but uses the selected colors of white on blue.
  663.  
  664.        EXAMPLE 3:
  665.                  DBLBOX 5 5 10 25 1 7 P2
  666.  
  667.        Same as example 3, but puts the box on video page 2, which may or
  668.        may not be the active video page.
  669.  
  670.  
  671.  
  672.                  DETANSI
  673.  
  674.        Returns an errorlevel of 1 if an ansi device drive is  installed,
  675.        a 0 if an ansi driver is not installed, or a 2 if the video  mode
  676.        is graphics.
  677.  
  678.  
  679.                  DFREE d: [vname]
  680.  
  681.        Returns  an  errorlevel  in  K bytes for  bytes  available  on  a
  682.        selected  drive  'd:', or places the exact value  in  a  selected
  683.        variable 'vname'. The selected drive letter may be upper or lower
  684.        case,  and  must be prefixed with the colon.   Alternately,  will
  685.        return an errorlevel of 0 if an incorrect drive is specified  and
  686.        the  variable  is  not  specified, or a  1  if  the  variable  is
  687.        specified and the selected drive is not available.
  688.  
  689.        EXAMPLE 1:
  690.                  DFREE A:
  691.  
  692.        Returns an error of 0 thru 255 for the amount of available  space
  693.        on drive A.
  694.  
  695.        EXAMPLE 2:
  696.                  DFREE A: AFREE
  697.  
  698.        Returns  the exact amount of unused disk space in variable  AFREE
  699.        or  an errorlevel of 1 if the drive is unavailable (no disk,  not
  700.        formatted, etc...).
  701.  
  702.  
  703.                  DLINE sr sc l bc fc p S
  704.                  DLINE Pp l S
  705.  
  706.        Draws  a  double  or single line, using  double  or  single  line
  707.        graphics on the video or sends the line to the selected  printer,
  708.        using length 'l', starting on row 'sr' column 'sc' (video), using
  709.        the background color 'bc' and foreground color 'fc' on page 'p'.
  710.  
  711.        EXAMPLE 1:
  712.                  DLINE sr sc l
  713.  
  714.        Draws a double line using double line graphics, on line 'sr',  at
  715.        starting at column 'sc' and of length 'l'.  This method also uses
  716.        the  existing screen colors as exist at location  'sr','sc',  and
  717.        defaults to the active video page.
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.        {DLINE} continued
  725.  
  726.        EXAMPLE 2:
  727.                  DLINE 5 5 20 1 7
  728.  
  729.        Draws a double line as in example 1 on row 5, starting on  column
  730.        5,  with  a length of 20, using the selected colors of  white  on
  731.        blue.
  732.  
  733.        EXAMPLE 3:
  734.                  DLINE 5 5 20 1 7 2
  735.  
  736.        Draws the double line as in example 2, but on video page 2, which
  737.        may or may not be active.
  738.  
  739.        EXAMPLE 4:
  740.                  DLINE 5 5 20 1 7 2 S
  741.  
  742.        Draws a line as in example 3, but uses single line graphics.
  743.  
  744.        EXAMPLE 5:
  745.                  DLINE P1 20
  746.  
  747.        Draws a line to the first printer, using double line graphics, of
  748.        length 20.
  749.  
  750.        EXAMPLE 6:
  751.                  DLINE P1 20 S
  752.  
  753.        Same as example 5, except uses single line graphics.
  754.  
  755.  
  756.                  DLST ftype [/Ln] [/Rn] [/Bn] [/Tn] [/E list]
  757.                             [/I list] [/X] [/D] [/Z]
  758.  
  759.        Displays a list of files in the current directory, where :
  760.  
  761.        ftype  is  the type of file(s) to display, and can  use  the  Dos
  762.        wildcards (*.*, ???.???).
  763.  
  764.        /Ln = Left margin of 'n'        /Rn = Right margin of 'n'
  765.        /Bn = Last margin 'n' to use    /Tn = First line to use 'n'
  766.        /E list = exclude list           /I list = include list
  767.        /X = no extensions shown        /D = show directories
  768.        /Z = stop listing at line 'Bn'
  769.  
  770.        Under  normal execution (without the /Z option), if the  list  is
  771.        longer than rows Tn thru Bn then the function halts, waiting  for
  772.        the user to press enter to continue.
  773.  
  774.  
  775.        {DLST} continued
  776.  
  777.        EXAMPLE 1:
  778.                  DLST *.DOC
  779.  
  780.        Displays  a list of DOC files using all of the  available  video,
  781.        pausing after filling the display.
  782.  
  783.        EXAMPLE 2:
  784.                  DLST *.DOC /L5 /R5
  785.  
  786.        Displays a list of DOC files as example 1, but limits the  output
  787.        to columns 5 thru 75 (80-5).
  788.  
  789.        EXAMPLE 3:
  790.                  DLST *.DOC /L5 /R5 /B20 /T5
  791.  
  792.        Displays a list of DOC files as example 2, but limits the  output
  793.        to lines 5 thru 20.
  794.  
  795.        EXAMPLE 4:
  796.                  DLST *.* /L5 /R5 /B20 /T5 /E COM EXE
  797.  
  798.        Displays  all files, limited to row 5 thru 20, and column 5  thru
  799.        75 and excluding extensions of COM and EXE.
  800.  
  801.        EXAMPLE 5:
  802.                  DLST *.DOC /L5 /R5 /B20 /T5 /I COM EXE
  803.  
  804.        Same as example 3, but includes file types of COM and EXE .
  805.  
  806.        EXAMPLE 6:
  807.                  DLST *.DOS /L5 /R5 /B20 /T5 /X
  808.  
  809.        Same as example 3, but does NOT show extensions.
  810.  
  811.        EXAMPLE 7:
  812.                  DLST *.DOS /L5 /R5 /B20 /T5 /D
  813.  
  814.        Same as example 3, but shows directories as well.
  815.  
  816.        EXAMPLE 8:
  817.                  DLST *.DOS /L5 /R5 /B20 /T5 /Z
  818.  
  819.        Same  as example 3, but only shows number of files which can  fit
  820.        onto lines 5 thru 20.
  821.  
  822.  
  823.  
  824.  
  825.  
  826.  
  827.  
  828.                  DRVCK d:
  829.  
  830.        Returns an errorlevel of 0 if the specified drive exists, a 1  if
  831.        the  drive does not, or 2 if the drive was not  specified.   This
  832.        does not check to see if a drive is installed, only if the  drive
  833.        is a valid drive.
  834.  
  835.  
  836.                  DRVLST var
  837.  
  838.        Places a list of drives available into the Dos variable 'var'.
  839.  
  840.        If  for  instance,  you have 2 floppies and  a  hard  drive,  the
  841.        entering this function, would return 'ABC' in the selected var.
  842.  
  843.        If you have set up a ram drive or used SUBST, then this  function
  844.        will also place those additional drive names into the list.  IE..
  845.        if  your  ram drive is D then the list returned  in  the  varible
  846.        would be 'ABCD'.
  847.  
  848.  
  849.                  DSKRDY d:
  850.  
  851.        Returns  an  errorlevel  of  0 if the  drive  is  ready,  with  a
  852.        formatted  disk, an errorlevel of 1 if the drive exists,  but  is
  853.        not ready, 2 if the drive has an unformatted disk installed,  and
  854.        3 if the drive does not exist.
  855.  
  856.        EXAMPLE 1:
  857.                  DSKRDY A:
  858.                  IF ERRORLEVEL 3 GOTO NXIST
  859.                  IF ERRORLEVEL 2 GOTO FMT
  860.                  IF ERRORLEVEL 1 GOTO BAD
  861.                  ECHO Drive is formatted
  862.                  GOTO XIT
  863.                  :NXIST
  864.                  ECHO Drive does not exist
  865.                  GOTO XIT
  866.                  :BAD
  867.                  ECHO Drive is not ready (no disk installed)
  868.                  GOTO XIT
  869.                  :FMT
  870.                  ECHO Format disk in drive A ?
  871.                  YN
  872.                  IF ERRORLEVEL 1 GOTO XIT
  873.                  FORMAT A
  874.                  :XIT
  875.                  {BLANK LINE}
  876.  
  877.  
  878.  
  879.  
  880.        {DSKRDY continued}
  881.  
  882.        In the above example, we display a message for each case, and  if
  883.        the  user  wants, we will format a blank unformatted  disk.   The
  884.        line  containing  YN is another function we  have,  which  simply
  885.        waits for a key press of y or n (upper or lower case).
  886.  
  887.  
  888.                  ENVSIZE [TL] [L] [T] [TS] [TK] [B] [K] [V] [R]
  889.  
  890.        Returns  an errorlevel based upon the amount of  Dos  environment
  891.        space left or the total environment space size.
  892.  
  893.        EXAMPLE 1:
  894.                  ENVSIZE
  895.  
  896.        Returns  an  errorlevel  of 0 - 255 for each 256  bytes  of  free
  897.        space (IE... 1=256, 2=512, etc...).
  898.  
  899.        EXAMPLE 2:
  900.                  ENVIZE TL
  901.  
  902.        Returns an errorlevel of 0 if less than 256, 1 if less than  4096
  903.        and 2 if greater than 4096 (total environment space)
  904.  
  905.  
  906.        {ENVSIZE continued}
  907.  
  908.        EXAMPLE 3:
  909.                  ENVSIZE L
  910.  
  911.        Same as example 2, except that it's for environment space left.
  912.  
  913.        EXAMPLE 4:
  914.                  ENVSIZE T
  915.  
  916.        Returns an errorlevel of 0 thru 255 for the amount of environment
  917.        space left, in units of 256 bytes.
  918.  
  919.        EXAMPLE 5:
  920.                  ENVSIZE TS
  921.  
  922.        Returns an errorlevel of 0 thru 255 for the amount of environment
  923.        space left, in bytes.
  924.  
  925.        EXAMPLE 6:
  926.                  ENVSIZE TK
  927.  
  928.        Returns   an  errorlevel  of  0  thru  255  for  the  amount   of
  929.        environspace left, in k bytes.
  930.  
  931.  
  932.        {ENVSIZE continued}
  933.  
  934.        EXAMPLE 7:
  935.                  ENVSIZE B
  936.  
  937.        Returns  an errorlevel of 0 to 255 for the amount of  environment
  938.        space left, in bytes.
  939.  
  940.        EXAMPLE 8:
  941.                  ENVSIZE K
  942.  
  943.        Returns  an errorlevel of 0 to 255 for the amount of  environment
  944.        space left in k bytes.
  945.  
  946.        EXAMPLE 9:
  947.                  ENVSIZE V
  948.  
  949.        Places  the total amount of environment space into  the  variable
  950.        ESIZE.
  951.  
  952.        EXAMPLE 10:
  953.                  ENVSIZE VR
  954.        Places  the  amount of environment space left into  the  variable
  955.        ESIZE.
  956.  
  957.  
  958.                  FCHR sr sc er ec bc fc p c
  959.  
  960.        Fills the selected video area with the selected character, where:
  961.  
  962.                  sr = start row        sc = start column
  963.                  er = ending row       ec = ending column
  964.                  bc = background color fc = foreground color
  965.                  p  = video page       c  = fill character
  966.  
  967.        Any  single character entered for 'c' results in  that  character
  968.        being used as the fill pattern, if two or more characters are  in
  969.        the  'c' position, then it is assumed you want to use  a  decimal
  970.        value,  and  may be from 2 to 3 decimal digits (0-9)  ranging  in
  971.        value  from 0 to 255.  For characters with values less  than  10,
  972.        prefix the value with a zero.
  973.  
  974.        EXAMPLE 1:
  975.                  FCHR 5 5 10 75 1 7 0 A
  976.  
  977.        Fills  the video area from row 5 column 5 thru row 10  column  75
  978.        with A's using white on blue on video page 0.
  979.  
  980.  
  981.  
  982.  
  983.  
  984.        EXAMPLE 2:
  985.                  FCHR 5 5 10 75 0 7 0 65
  986.  
  987.        Same as example 1.
  988.  
  989.        EXAMPLE 3:
  990.                  FCHR 5 5 10 75 1 7 1 65
  991.  
  992.        Same as example 1, except that video page 1 is used.
  993.  
  994.        (NOTE) video pages 0 and 1 are identical to this function.
  995.  
  996.  
  997.                  FILES ftype vname /E list /I list
  998.  
  999.        Returns  an errorlevel equal to the number of files of  the  type
  1000.        'type'.   User may specify additional file types by using the  /I
  1001.        followed  by a list (of up to 10) additional extension types,  or
  1002.        may  exclude  file types from a listing when using the  "*"  wild
  1003.        card,  by  entering a /E followed by up to  10  extension  types.
  1004.        Alternately,  the number of files will be returned in a  selected
  1005.        variable.
  1006.  
  1007.  
  1008.        EXAMPLE 1:
  1009.  
  1010.                  FILES *.DOC
  1011.  
  1012.        Returns an errorlevel of 0 thru 255 depending upon the number  of
  1013.        DOC files in the current directory.
  1014.  
  1015.        EXAMPLE 2:
  1016.                  FILES *.DOC DOCS
  1017.  
  1018.        Returns the number of DOC files in the variable DOCS.
  1019.  
  1020.        EXAMPLE 3:
  1021.                  FILES *.DOC /I EXE
  1022.  
  1023.        Same as example 1, except value includes EXE files as well.
  1024.  
  1025.        EXAMPLE 4:
  1026.                  FILES *.DOC DOCS /I EXE
  1027.  
  1028.        Same as example 2, except value includes EXE files.
  1029.  
  1030.        EXAMPLE 5:
  1031.                  FILES *.* /E EXE COM
  1032.  
  1033.        Returns  an  errorlevel of 0 thru 255 for the  number  of  files,
  1034.        except for those with extensions of EXE and COM.
  1035.  
  1036.        {FILES continued}
  1037.  
  1038.  
  1039.        EXAMPLE 6:
  1040.                  FILES *.* FILES /E EXE COM
  1041.  
  1042.        Same as example 5, except the number of files is returned in  the
  1043.        variable FILES instead of an errorlevel.
  1044.  
  1045.  
  1046.                  FNDHID fname
  1047.  
  1048.        Displays  a bit representation of the selected file  'fname'  at-
  1049.        tribs, where the output is an 8 digit decimal display of 1's  and
  1050.        0's.  The output is interpreted as follows when the bits are set:
  1051.  
  1052.        Bit 1 = Read Only,  Bit 2 = Hidden,  Bit 3 = System
  1053.        Bit 4 = Volume lable, Bit 5 = Directory name, Bit 6 = Archived
  1054.        Bit 7 & 8 = Reserved
  1055.  
  1056.  
  1057.                  FREEM [var][/E]
  1058.  
  1059.        Displays the amount of system ram available.
  1060.  
  1061.        Or alternately sets the variable 'var' equal to this value.
  1062.  
  1063.        Using  the  switch '/E', we can set the errorlevel equal  to  the
  1064.        amount of system ram available divided by 4K.
  1065.  
  1066.  
  1067.        EXAMPLE 1:
  1068.                  FREEM
  1069.  
  1070.        Simply displays the amount of system ram available
  1071.  
  1072.        EXAMPLE 2:
  1073.                  FREEM MEM
  1074.  
  1075.        Sets the Dos variable MEM equal to the amount of system ram left
  1076.  
  1077.        EXAMPLE 3:
  1078.  
  1079.                  FREEM /E
  1080.  
  1081.        Sets the Dos errorlevel equal to the amount of system ram divided
  1082.        by 4K (IE...64K=16).
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.  
  1124.        {FREEM continued}
  1125.  
  1126.        EXAMPLE 4:
  1127.                  FREEM MEM /E
  1128.  
  1129.        Sets the Dos variable MEM equal to the system ram left divided by
  1130.        4K .
  1131.  
  1132.  
  1133.                  FSIZE fname vname
  1134.  
  1135.        Returns  an  errorlevel of 0 thru 255 for the size  of  the  file
  1136.        'fname',  or  alternately places the size (in K bytes)  into  the
  1137.        variable 'vname'.
  1138.  
  1139.        EXAMPLE 1:
  1140.                  FSIZE FSIZE.COM
  1141.  
  1142.        Returns  an errorlevel of 0 thru 255 for the size of FSIZE  in  k
  1143.        bytes.
  1144.  
  1145.        EXAMPLE 2:
  1146.                  FSIZE FSIZE.COM SIZE
  1147.  
  1148.        Same  as example 1, except the size is returned in  the  variable
  1149.        SIZE.
  1150.  
  1151.  
  1152.                  FUNKEY
  1153.  
  1154.        Returns an errorlevel of 1 thru 10 for the 10 function keys,  all
  1155.        other key presses cause the speaker to beep.
  1156.  
  1157.  
  1158.                  GALF
  1159.  
  1160.        Returns  an  errorlevel of 1 thru 26 for any alpha  key  pressed,
  1161.        upper or lower case, all other key presses causes the speaker  to
  1162.        beep.
  1163.  
  1164.  
  1165.                  GCURS [R] [Rv] [C] [Cv] [V]
  1166.  
  1167.        Returns  an errorlevel for either the row or column  position  of
  1168.        the  cursor, or alternately places the row /  column  information
  1169.        into the variables ROW and COL.
  1170.  
  1171.  
  1172.  
  1173.  
  1174.  
  1175.  
  1176.  
  1177.  
  1178.  
  1179.  
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.        {GCURS continued}
  1191.  
  1192.        EXAMPLE 1:
  1193.                  GCURS R
  1194.  
  1195.        Returns an errorlevel equal to the current row.
  1196.  
  1197.        EXAMPLE 2:
  1198.                  GCURS R5
  1199.  
  1200.        Returns an errorlevel of 0 if the value 5 and the current row are
  1201.        equal, a 1 if the row is greater than 5 and 2 if the row is  less
  1202.        than 5.
  1203.  
  1204.  
  1205.  
  1206.        {GCURS} continued
  1207.  
  1208.        EXAMPLE 3:
  1209.                  GCURS C
  1210.  
  1211.        Same as example 1, except that the errorlevel is for the column.
  1212.  
  1213.        EXAMPLE 4:
  1214.                  GCURS C5
  1215.  
  1216.        Same as example 2, except that the ERRORLEVEL is for columns.
  1217.  
  1218.        EXAMPLE 5:
  1219.                  GCURS V
  1220.  
  1221.        Places the current row and column into the two variables ROW  and
  1222.        COL .
  1223.  
  1224.  
  1225.                  GDIR
  1226.  
  1227.        Sets the Dos variable DIR to the current directory path.
  1228.  
  1229.        Example use:
  1230.  
  1231.                  GDIR
  1232.                  CD \GAMES
  1233.                  GAME
  1234.                  CD\%DIR%
  1235.  
  1236.        In the above batch file, the current directory would be saved  in
  1237.        the  variable  DIR, then we change to the  new  directory  games,
  1238.        execute  some  game,  and finally return  back  to  the  original
  1239.        directory via the CD\%DIR% .
  1240.  
  1241.  
  1242.                  GDRIVE
  1243.  
  1244.        Returns  an  errorlevel from 0 thru 255 for  the  current  active
  1245.        drive, where 0=A, 1=B, etc...
  1246.  
  1247.  
  1248.                  GETCC [V]
  1249.  
  1250.        Returns  an  errorlevel  equal to the cursor  column  number,  or
  1251.        alternately  places  the  value into a DOS variable  CC,  if  the
  1252.        switch V is included on the command line
  1253.  
  1254.  
  1255.                  GETCOLR [F] [B]
  1256.  
  1257.        Returns an errorlevel equal to the current screen colors.
  1258.  
  1259.        EXAMPLE 1:
  1260.                  GETCOLR
  1261.  
  1262.        Returns  an  errorlevel equal to both foreground  and  background
  1263.        colors (combined).
  1264.  
  1265.        EXAMPLE 2:
  1266.                  GETCOLR F
  1267.  
  1268.        Returns an errorlevel equal to the foreground color.
  1269.  
  1270.        EXAMPLE 3:
  1271.                  GETCOLR B
  1272.  
  1273.        Returns an errorlevel equal to the background color.
  1274.  
  1275.  
  1276.                  GETCR [V]
  1277.  
  1278.        Returns an errorlevel equal to the current cursor row, or returns
  1279.        the value in the variable CR, if the switch V is included on  the
  1280.        command line.
  1281.  
  1282.  
  1283.                  GETMCB
  1284.  
  1285.        Displays a list, showing the current memory usage.
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.                  GETNUM [n....]
  1295.  
  1296.        Returns  an  errorlevel  equal to the value of  the  numeric  key
  1297.        pressed,  or  sounds  the speaker if any other  key  is  pressed.
  1298.        Alternately,  the  user  may  specify  which  numeric  keys   are
  1299.        acceptable.
  1300.  
  1301.  
  1302.        EXAMPLE 1:
  1303.                  GETNUM
  1304.  
  1305.        Accepts  all  numeric keys for input, returning the value  as  an
  1306.        errorlevel (IE.... 0=0, 1=1, etc....).
  1307.  
  1308.        EXAMPLE 2:
  1309.                  GETNUM 123
  1310.  
  1311.        Accepts  only numeric keys 1 thru 3, return errorlevels  for  the
  1312.        numeric key pressed of 1 thru 3.
  1313.  
  1314.        The  second variation of this function is useful for batch  files
  1315.        used in menus, Example :
  1316.  
  1317.                  :MENU
  1318.                  ECHO            Menu
  1319.                  ECHO
  1320.                  ECHO        (1) Games
  1321.                  ECHO        (2) Format disk
  1322.                  ECHO        (3) Dos
  1323.                  ECHO
  1324.                  ECHO         Your choice (1-3) ?
  1325.                  GETNUM 123
  1326.                  IF ERRORLEVEL 3 GOTO XIT
  1327.                  IF ERRORLEVEL 2 GOTO FMT
  1328.                  GAME
  1329.                  GOTO MENU
  1330.                  :FMT
  1331.                  FORMAT A:
  1332.                  GOTO MENU
  1333.                  :XIT
  1334.                  {BLANK LINE}
  1335.  
  1336.        The above batch file would either start a game, format a disk, or
  1337.        place the user at the Dos prompt.
  1338.  
  1339.  
  1340.                  GETPG
  1341.  
  1342.        Returns  an errorlevel equal to the active video page.   For  CGA
  1343.        systems, this is usually a value between 1 and 4.
  1344.  
  1345.  
  1346.                  GETVER [M] [V]
  1347.  
  1348.        Returns an errorlevel equal to the current Dos version (0 if  Dos
  1349.        version  1.x) or alternately can set the Dos variable VER to  the
  1350.        version number.
  1351.  
  1352.        The following examples assume a Dos version of 3.2.
  1353.  
  1354.        EXAMPLE 1:
  1355.                  GETVER
  1356.  
  1357.        Returns an errorlevel of 3 (major version)
  1358.  
  1359.        EXAMPLE 2:
  1360.                  GETVER M
  1361.  
  1362.        Returns an errorlevel of 2 (minor version)
  1363.  
  1364.        EXAMPLE 3:
  1365.                  GETVER V
  1366.  
  1367.        Sets the variable VER to 3.2 .
  1368.  
  1369.  
  1370.                  GMEN [B] [s] [V]
  1371.  
  1372.        Returns an errorlevel equal to the amount of ram left for use  in
  1373.        the system.
  1374.  
  1375.        EXAMPLE 1:
  1376.                  GMEN
  1377.  
  1378.        Returns an errorlevel equal to the ram size in K bytes.
  1379.  
  1380.        EXAMPLE 2:
  1381.                  GMEN B
  1382.  
  1383.        Returns  an errorlevel equal to the ram size in 4K  byte  chunks,
  1384.        IE... 4K = 1, 8K = 2, etc....
  1385.  
  1386.        EXAMPLE 3:
  1387.                  GMEN 4000
  1388.  
  1389.        Compares  the value 4000 against your actual ram size,  returning
  1390.        an errorlevel of 0 if equal, 1 if greater, and 2 if less.
  1391.  
  1392.        EXAMPLE 4:
  1393.                  GMEN V
  1394.  
  1395.        Sets the Dos variable MEM equal to the ram size.
  1396.  
  1397.  
  1398.                  GMODE
  1399.  
  1400.        Returns an errorlevel equal to the current video mode, where :
  1401.  
  1402.                  0 = CGA 40x25 black & white
  1403.                  1 = CGA 40x25 color
  1404.                  2 = CGA 80x25 black & white
  1405.                  3 = CGA 80x25 color
  1406.                  4 = 320x200 4 color graphics mode
  1407.                  5 = 320x200 4 color graphics mode (color burst off)
  1408.                  6 = 640x200 2 color graphics mode
  1409.                  7 = 80x25 Monochrome adapter
  1410.                  8 = 160x200 16 color graphics mode (PCjr)
  1411.                  9 = 320x200 16 color graphics mode (PCjr)
  1412.                 10 = 640x200 4 color graphics mode (PCjr)
  1413.                 11 = ?
  1414.                 12 = ?
  1415.                 13 = 320x200 16 color graphics mode (EGA)
  1416.                 14 = 640x200 16 color graphics mode (EGA)
  1417.                 15 = 640x350 monochrome graphics mode (EGA)
  1418.                 16 = 640x350 4 color graphics mode (EGA)
  1419.  
  1420.  
  1421.                  INKEY {key_val},/EAZXScCbc,fc
  1422.  
  1423.        Retrieves single keystrokes, setting the errorlevel to the  ascii
  1424.        value of the keystroke, or alternately allows assigning values to
  1425.        specific keys, where :
  1426.  
  1427.                E = echo mode on (echo char entered)
  1428.                A = set error level to ascii if no assignment
  1429.                Z = set error level to 0 if no assignment
  1430.                X = respond to extended keys only
  1431.                    Predefined return codes for extended keys are :
  1432.                    UP = 1            DOWN = 2         LEFT = 3
  1433.                    RIGHT = 4         PAGE UP = 5      PAGE DOWN = 6
  1434.                    HOME = 7          END = 8          INSERT = 9
  1435.                    DELETE = 9
  1436.                    FUNCTION KEYS 1 THRU 10 = 10 THRU 19
  1437.                S = set list separator (separator follows the S), default
  1438.        is a comma
  1439.                C  =  color, background color  (decimal)  is  immediately
  1440.        after             the S, followed by the separator char, then the
  1441.        foreground color
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.  
  1450.        {INKEY} continued
  1451.  
  1452.        EXAMPLE 1:
  1453.                  INKEY
  1454.  
  1455.        Returns  an  errorlevel  equal to the  keystroke  character,  but
  1456.        ignores  any  extended  keystrokes (such as  function  keys),  by
  1457.        beeping the speaker.
  1458.  
  1459.        EXAMPLE 2:
  1460.                  INKEY A1,B2,C3,D4,E5,F10
  1461.  
  1462.        Returns  an errorlevel of 1 thru 10 for the specified  keystrokes
  1463.        of A thru F . You may assign as many keystrokes in this manner as
  1464.        may  fit  on a Dos command line. Notice the skip  in  assignments
  1465.        between  E and F, where E is assigned an errorcode of 5 and F  an
  1466.        errorcode  of 10.  This mode ignores any other  keystroke,  while
  1467.        beeping the speaker for other than keystrokes of A thru F.
  1468.  
  1469.        EXAMPLE 3:
  1470.                  INKEY /E
  1471.  
  1472.        Returns  an errorlevel equal to the keystroke character,  ignores
  1473.        extended key strokes, and echo's the keystroke.
  1474.  
  1475.        EXAMPLE 4:
  1476.                  INKEY A1,B3,C5,D7,E9,/E
  1477.  
  1478.        Returns the assigned errorlevels of 1 thru 9 for keystrokes of  A
  1479.        thru E, ignoring all other keystrokes by beeping the speaker, but
  1480.        echo's the accepted keystroke.
  1481.  
  1482.        EXAMPLE 5:
  1483.                  INKEY A1,B2,C3,D5,/A
  1484.  
  1485.        Returns  an errorlevel of 1 thru 5, for assigned keystrokes,  all
  1486.        other  keystrokes,  except extended ones, will return  the  ascii
  1487.        value  of  the keystroke.  Pressing any extended key  causes  the
  1488.        speaker to beep.
  1489.  
  1490.        EXAMPLE 6:
  1491.                  INKEY A1,B2,C3,D5,/Z
  1492.  
  1493.        Same  as  example 5, except all unassigned keystrokes  return  an
  1494.        errorlevel of 0.
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.        {INKEY} continued
  1502.  
  1503.        EXAMPLE 7:
  1504.                  INKEY /X
  1505.  
  1506.        Returns  an  error  for  extended  key  strokes,  see  above  for
  1507.        errorlevels returned.
  1508.  
  1509.        EXAMPLE 8:
  1510.                  INKEY /S*
  1511.  
  1512.        Sets the command line delimiter to the "*" !
  1513.  
  1514.        EXAMPLE 9:
  1515.                  INKEY A1,B2,C3,D4,E5,/C1,7
  1516.  
  1517.        Same as example 2, except the keystroke will be echoed using  the
  1518.        chosen colors of white on blue.
  1519.  
  1520.        Most of the switches may be mixed on the command line, except  of
  1521.        course the X switch, which is for extended keys, and the will not
  1522.        display (echo).
  1523.  
  1524.  
  1525.                  INSTR s c vname oname [/X]
  1526.  
  1527.        Searches  for  the  first occurrence of 'c' starting  at  's'  in
  1528.        variable  'vname',  to  output  variable  'oname'.   The   search
  1529.        character  must  be  specified as a  decimal  value  (IE...65=A),
  1530.        unless the switch '/X' is included on the command line.
  1531.  
  1532.        EXAMPLE 1:
  1533.                  INSTR 1 65 VAR1 VAR2
  1534.  
  1535.                  Where VAR1=HARRY
  1536.  
  1537.        Outputs the string 'ARRY' to VAR2.
  1538.  
  1539.        EXAMPLE 2:
  1540.                  INSTR 1 A VAR1 VAR2 /X
  1541.  
  1542.        Same as example 1, notice that the character 'A' is now specified
  1543.        by using the ascii character instead of a decimal value.
  1544.  
  1545.  
  1546.                  INVERT
  1547.  
  1548.        Swaps the foreground an background colors, of the entire  screen.
  1549.        If  the foreground color is greater than 15 then  the  background
  1550.        color will blink on Monochrome and CGA systems.
  1551.  
  1552.  
  1553.  
  1554.                  KEYSTAT
  1555.  
  1556.        Returns an errorlevel of 0 thru 4, where :
  1557.  
  1558.                  1 = Scroll lock on
  1559.                  2 = Num lock on
  1560.                  4 = Caps lock on
  1561.                  0 = All locks off
  1562.  
  1563.  
  1564.                  LEN vname
  1565.  
  1566.        Returns  an  errorlevel  equal to the  length  of  the  specified
  1567.        variable 'vname', or a zero if the variable does not exist, or is
  1568.        not specified.
  1569.  
  1570.  
  1571.                  LIMCK
  1572.  
  1573.        Returns  an  errorlevel of 1 if a LIM driver  is  detected,  else
  1574.        returns a zero.
  1575.  
  1576.  
  1577.                  LINE sr sc l [bc fc] [Pn]
  1578.  
  1579.        Draws  a line, using single line graphics, starting on row  'sr',
  1580.        column  'sc'for  length 'l', using optional background  'bc'  and
  1581.        foreground 'fc' colors on the optional page 'Pn'.
  1582.  
  1583.        EXAMPLE 1:
  1584.                  LINE 5 5 30
  1585.  
  1586.        Draws a line at row 5, column 5 of 30 characters in length, using
  1587.        the existing colors as found at row 5, column 5, and the  current
  1588.        video page (active).
  1589.  
  1590.        EXAMPLE 2:
  1591.                  LINE 5 5 30 1 7
  1592.  
  1593.        Same  as  example  1,  except the colors of  white  on  blue  are
  1594.        specified.
  1595.  
  1596.        EXAMPLE 3:
  1597.                  LINE 5 5 30 1 7 P2
  1598.  
  1599.        Same as example 2, except that video page 2 is specified, and may
  1600.        or may not be the active video page.
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.                  LOCATE sr sc p
  1607.  
  1608.        Positions the video cursor to the location specified, where  'sr'
  1609.        is the row, and 'sc' is the column.  Alternately, the video  page
  1610.        may be specified 'p'
  1611.  
  1612.        EXAMPLE 1:
  1613.                  LOCATE 5 5
  1614.  
  1615.        Positions the cursor at row 5, column 5.
  1616.  
  1617.        EXAMPLE 2:
  1618.                  LOCATE 5 5 2
  1619.  
  1620.        Same as example 1, except the cursor on video page 2 is affected,
  1621.        and  may  or may not be the active video page.  This  feature  is
  1622.        useful to those with systems which large amounts of video memory.
  1623.  
  1624.  
  1625.                  LOGON [O]
  1626.  
  1627.        Updates  a file (LOGIN.LOG), with login name, time and  date,  or
  1628.        alternately, the logout name, time and date.
  1629.  
  1630.        EXAMPLE 1:
  1631.                  LOGON
  1632.  
  1633.        Prompts the current user for their name, then appends that  name,
  1634.        and time and date to the file LOGIN.LOG in the current directory.
  1635.        The line appended would look like :
  1636.  
  1637.                  BUDDY LOGGED IN @ 09-23-1988 08:23:10
  1638.  
  1639.        EXAMPLE 2:
  1640.                  LOGON O
  1641.  
  1642.        Same  as example 2, except the following will be appended to  the
  1643.        file LOGIN.LOG :
  1644.  
  1645.                  BUDDY LOGGED OUT @ 09-23-1988 08:35:15
  1646.  
  1647.  
  1648.                  LPT1TO2 (or PRNSWAP)
  1649.  
  1650.        Reassigns  printer port 1 as printer port 2, and printer  port  2
  1651.        becomes printer port 1, and may be referred to as the PRN device.
  1652.  
  1653.  
  1654.  
  1655.  
  1656.  
  1657.  
  1658.                  LST fname
  1659.  
  1660.        Displays the file 'fname', one page at a time.  The text file may
  1661.        be scrolled by pressing either the space bar, or by pressing  the
  1662.        enter key.  Scrolling backwards is not allowed.
  1663.  
  1664.        The utility also returns an errorlevel of 0 if everything was ok,
  1665.        and errorlevel of 1 if the file was not found, or and  errorlevel
  1666.        of 2 if the file was not specified.
  1667.  
  1668.        Pressing the escape key at any time exits.
  1669.  
  1670.  
  1671.                  MIDSTR s l vname oname
  1672.  
  1673.        Places  a selected portion of the string 'vname' into the  output
  1674.        string  'oname', where 's' is the start of the string to  extract
  1675.        from  'vname',  and 'l' is the length (number of  characters)  to
  1676.        extract, starting at 's'.
  1677.  
  1678.        EXAMPLE :
  1679.  
  1680.        Assuming string 'STR1' contains "We are the people of the US".
  1681.  
  1682.                  MIDSTR 12 16 STR1 STR2
  1683.  
  1684.        would return the string "people of the US" in variable STR2.
  1685.  
  1686.        If  'l' is longer than the remaining characters in 'vname',  then
  1687.        'oname' will contain the string starting at 's' and ending at the
  1688.        final character in 'vname'.
  1689.  
  1690.  
  1691.                  MOUSECK
  1692.  
  1693.        Returns an errorlevel of 0 if a mouse driver is not detected,  or
  1694.        an errorlevel of 1 if it is.
  1695.  
  1696.  
  1697.                  MOVCUR [U] [D] [L] [R] [n]
  1698.  
  1699.        Moves the cursor in the desired direction :
  1700.  
  1701.                  U = up                D = down
  1702.                  L = left              R = right
  1703.  
  1704.        by an optional value of 'n' or the default value of 1.
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.        {MOVCUR} continued
  1711.  
  1712.        EXAMPLE 1:
  1713.                  MOVCUR U
  1714.  
  1715.        Moves the cursor up one line (if possible).
  1716.  
  1717.                  MOVCUR D
  1718.  
  1719.        Moves the cursor down one line.
  1720.  
  1721.        EXAMPLE 2:
  1722.                  MOVCUR L 3
  1723.  
  1724.        Moves the cursor left 3 columns if possible.
  1725.  
  1726.                  MOVCUR R 3
  1727.  
  1728.        Moves the cursor right 3 columns.
  1729.  
  1730.  
  1731.                  PAGE p V
  1732.  
  1733.        Returns  an errorlevel equal to the current video page,  or  sets
  1734.        the  active video page to 'p', or returns the active  video  page
  1735.        number  in  the variable PAGE, if the switch V is  found  on  the
  1736.        command line.
  1737.  
  1738.        EXAMPLE 1:
  1739.                  PAGE
  1740.  
  1741.        Returns  an errorlevel of 1 thru 4 for the active page on  a  CGA
  1742.        system, 1 for most monochrome systems, and values in access of  4
  1743.        in systems with EGA or VGA .
  1744.  
  1745.        EXAMPLE 2:
  1746.                  PAGE 2
  1747.  
  1748.        Sets the active page to 2, if possible, or returns an  errorlevel
  1749.        of 1 if it fails.
  1750.  
  1751.        EXAMPLE 3:
  1752.                  PAGE V
  1753.  
  1754.        Sets the Dos variable PAGE to the active page number.
  1755.  
  1756.  
  1757.  
  1758.  
  1759.  
  1760.  
  1761.  
  1762.                  PASSWORD [S]
  1763.  
  1764.        Prompts the user for a password.  The entered password is  hidden
  1765.        by  use of inverse video characters as the password  is  entered.
  1766.        PASSWORD  allows  3 attempts at the password, then locks  up  the
  1767.        system,  forcing the user to reboot.  Alternately, the  user  may
  1768.        append  an  'S' after the function name, and after  entering  the
  1769.        correct current password, will be prompted for a new password.
  1770.  
  1771.  
  1772.                  PATHCK name
  1773.  
  1774.        Checks  for the existence of the directory 'name' in the  current
  1775.        directory.  If the directory 'name' exists, an errorlevel of 0 is
  1776.        returned,  if 'name' does not exist, then an errorlevel of  1  is
  1777.        returned, and if 'name' is not specified, then an errorlevel of 2
  1778.        is returned.
  1779.  
  1780.  
  1781.                  PFF
  1782.  
  1783.        Sends a form feed to the PRN device (first printer - LPT1).
  1784.  
  1785.  
  1786.                  PRDY
  1787.  
  1788.        Returns  an  errorlevel depending upon the status  of  the  first
  1789.        printer (PRN or LPT1), where :
  1790.  
  1791.                  0 = OK                1 = Timed out
  1792.                  2 = Gen Failure       3 = No paper
  1793.                  4 = Busy              5 = Off line
  1794.  
  1795.  
  1796.                  PRINT message
  1797.  
  1798.        Sends  the  string 'message' to the PRN (LPT1)  device.   Accepts
  1799.        only  input that Dos allows on the command line.  Don't  use  the
  1800.        redirectors   '<'  or  '>'  or  pipe  '|',  unless  enclosed   in
  1801.        parentheses
  1802.  
  1803.        EXAMPLE :
  1804.  
  1805.                  PRINT Hi Paul
  1806.  
  1807.        Sends the message 'Hi Paul' to the first printer (LPT1).
  1808.  
  1809.                  PRINT "Don't use > unless it's included inside quotes"
  1810.  
  1811.        Sends the entire message including quotes to the printer.
  1812.  
  1813.  
  1814.                  PRINTC n
  1815.  
  1816.        Prints  the  ascii character represented by the  numeric  decimal
  1817.        value 'n', or multiple characters separated by spaces.
  1818.  
  1819.        EXAMPLE 1:
  1820.                  PRINTC 65
  1821.  
  1822.        Prints the single ascii character 'A'.
  1823.  
  1824.        EXAMPLE 2:
  1825.                  PRINTC 27 77
  1826.  
  1827.        Sends  the escape sequence for putting most printers  into  elite
  1828.        mode .
  1829.  
  1830.  
  1831.                  PRINTF name
  1832.  
  1833.        Sends  any  file, up to 64k bytes, to the  printer.   No  special
  1834.        controls are performed.  This is only a convenience to the  user,
  1835.        as the Dos COPY command can just as easily be used.
  1836.  
  1837.  
  1838.                  PRNSET
  1839.  
  1840.        Performs a hardware reset to the PRN device.
  1841.  
  1842.  
  1843.                  RESPONSE var bc fc l [N]
  1844.  
  1845.        Sets  the variable 'var' to the text entered from  the  keyboard,
  1846.        using the optional colors for background 'bc' and foreground 'fc'
  1847.        but  requires the length to be specified.  'N' is a switch  which
  1848.        prevents  keystrokes  from being echoed to the display,  this  is
  1849.        useful for use as Password entry.
  1850.  
  1851.        EXAMPLE 1:
  1852.                  RESPONSE NAME 1 7 9
  1853.  
  1854.        Sets  the the variable 'NAME' equal to the next 9  keystrokes  or
  1855.        until  the  enter  key  is pressed, which  ever  is  first.   The
  1856.        keystrokes are echoed using white on blue.
  1857.  
  1858.        EXAMPLE 2:
  1859.                  RESPONSE NAME 1 7 9 N
  1860.  
  1861.        Same as example 1, except the keystrokes are not echoed.
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.                  SAVEKEY [c] [/n]
  1868.  
  1869.        Places characters into the typeahead buffer.
  1870.  
  1871.        EXAMPLE 1:
  1872.                  SAVEKEY 123
  1873.  
  1874.        Places the character sequence '123' into the keyboard buffer.
  1875.  
  1876.        EXAMPLE 2:
  1877.                  SAVEKEY /49 50 51
  1878.  
  1879.        Same  as  example 1, but the characters are  entered  as  decimal
  1880.        values.
  1881.  
  1882.  
  1883.                  SCROLL sr sc er ec bc fc [D]
  1884.  
  1885.        Scrolls  a  selected  portion of the screen  up  or  down,  using
  1886.        optional colors.
  1887.  
  1888.        EXAMPLE 1:
  1889.                  SCROLL 5 5 10 75 1 7
  1890.  
  1891.        Scrolls  the video area starting at row 5, column 5 thru row  10,
  1892.        column  75  using  colors  white  on  blue  for  the  last  line.
  1893.        Actually,  lines 5 thru 10 are scrolled up one, thus  losing  the
  1894.        original line 5, and clearing a new line 10.
  1895.  
  1896.        EXAMPLE 2:
  1897.                  SCROLL 5 5 10 75 1 7 D
  1898.  
  1899.        The inverse of example 1, where lines 5 thru 10 are scrolled down
  1900.        one, losing the original line 10, and clearing a new line 5.
  1901.  
  1902.  
  1903.                  SCROLMSG [/bc fc l] message
  1904.  
  1905.        Displays the string 'message' on line 25, scrolling it from right
  1906.        to left, optionally, the colors and line may be set.
  1907.  
  1908.        EXAMPLE 1:
  1909.                  SCROLMSG Hello there
  1910.  
  1911.        Scrolls the message 'Hello there' on line 25 from right to left.
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.  
  1918.        {SCROLMSG} continued
  1919.  
  1920.        EXAMPLE 2:
  1921.                  SCROLMSG /1 7 Hello there
  1922.  
  1923.        Same  as example 1, except the message is displayed in  white  on
  1924.        blue.
  1925.  
  1926.        EXAMPLE 3:
  1927.                  SCROLMSG /1 7 12 Hello there
  1928.  
  1929.        Same as example 2, except the message is displayed on line 12.
  1930.  
  1931.        EXAMPLE 4:
  1932.                  SCROLMSG /12 Hello there
  1933.  
  1934.        Same as example 1, except the message is displayed on line 12.
  1935.  
  1936.  
  1937.                  SETCUR sr er
  1938.  
  1939.        Sets  the  cursor  style  to block, or  line,  by  selecting  the
  1940.        starting 'sr' and ending 'er' rows for the cursor.
  1941.  
  1942.        EXAMPLE :
  1943.                  SETCUR 3 7
  1944.  
  1945.        Sets the cursor as a block, starting at scan line 3 and ending at
  1946.        scan line 7.
  1947.  
  1948.  
  1949.                  SETDATE mm-dd-yyyy
  1950.  
  1951.        Sets the Dos date to the specified date of mm-dd-yyyy, where :
  1952.  
  1953.                  mm = month in two decimal digit format, 01 thru 12
  1954.                  dd = day of month in two decimal digit format
  1955.                  yyyy = year in 4 decimal digit format
  1956.  
  1957.        NOTE:  must  use hyphens to separate month and day, and  day  and
  1958.        year.
  1959.  
  1960.  
  1961.                  SETERR n
  1962.  
  1963.        Sets the batch file errorlevel between 0 and 255 (n).  Great  for
  1964.        testing  batch  files  or when you need to  branch  based  on  an
  1965.        errorlevel.
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.                  SETIME hh:mm:ss
  1972.  
  1973.        Sets the Dos time to that specified in the above format, where :
  1974.  
  1975.                  hh = hours in 2 digit format (00 - 24)
  1976.                  mm = minutes in 2 digit format
  1977.                  ss = seconds in 2 digit format
  1978.  
  1979.        NOTE: must use colons to separate the units of time.
  1980.  
  1981.  
  1982.                  SETMODE n
  1983.  
  1984.        Sets the video mode to value n, where :
  1985.  
  1986.                  0 = 40x25 black & white (CGA)
  1987.                  1 = 40x25 color (CGA)
  1988.                  2 = 80x25 black & white (CGA, EGA & VGA)
  1989.                  3 = 80x25 color (CGA, EGA & VGA)
  1990.                  4 = 320x200 4 color graphics
  1991.                  5 = 320x200 4 color graphics - color burst off
  1992.                  6 = 640x200 2 color graphics
  1993.                  7 = Monochrome adapter
  1994.                  8 = 160x200 16 color graphics - low resolution - PCjr
  1995.                  9 = 320x200 16 color graphics - med. resolution - PCjr
  1996.                 10 = 640x200 4 color graphics - high resolution - PCjr
  1997.                 13 = 320x200 16 color graphics - EGA
  1998.                 14 = 640x200 16 color graphics - EGA
  1999.                 15 = 640x350 monochrome graphics - EGA
  2000.                 16 = 640x350 16 color graphics - EGA
  2001.  
  2002.  
  2003.                  SETPG p
  2004.  
  2005.        Sets the active video page to page 'p'.  Page numbers are from  1
  2006.        thru 4 for CGA systems.
  2007.  
  2008.  
  2009.                  SHOWVAR vname [/XNPpLcRlCbc fc]
  2010.  
  2011.        Displays  the variable 'vname'.  This can be done, using the  Dos
  2012.        echo  command, with the %vname%, but that usage includes  showing
  2013.        the variable name (IE... PATH=A:\), while SHOWVAR only shows  the
  2014.        actual variable (IE... A:\). The switches are as follows :
  2015.  
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.        {SHOWVAR} continued
  2023.  
  2024.                  X = center variable on line
  2025.                  N = don't issue a line feed / carriage return
  2026.                  Pp = Page number 'p'
  2027.                  Lc = Left margin at column 'c'
  2028.                  Rl = Use line number 'l'
  2029.                  Cbc fc = Use background 'bc' and foreground 'fc'
  2030.                           colors.  Separate the colors with a space.
  2031.  
  2032.        EXAMPLE 1:
  2033.                  SHOWVAR PATH
  2034.  
  2035.        Displays the PATH at the current cursor position.
  2036.  
  2037.        EXAMPLE 2:
  2038.                  SHOWVAR PATH /X
  2039.  
  2040.        Displays the PATH on the current line, but centered
  2041.  
  2042.        EXAMPLE 3:
  2043.                  SHOWVAR PATH /P2
  2044.  
  2045.        Displays  the PATH at the current cursor position, but  on  video
  2046.        page 2, which may or may not be the active video page.
  2047.  
  2048.        EXAMPLE 4:
  2049.                  SHOWVAR PATH /L5
  2050.  
  2051.        Displays the PATH on the current line, starting at column 5.
  2052.  
  2053.        EXAMPLE 5:
  2054.                  SHOWVAR PATH /R5
  2055.  
  2056.        Displays the PATH on line 5, at the current column number.
  2057.  
  2058.        EXAMPLE 6:
  2059.                  SHOWVAR PATH /C1 7
  2060.  
  2061.        Displays the PATH at the cursor location, using white on blue.
  2062.  
  2063.        NOTE:  if the 'C' switch and colors are not specified,  then  the
  2064.        colors used will be what is currently available at the  specified
  2065.        location or at the cursor location.
  2066.  
  2067.  
  2068.                  SKEY
  2069.  
  2070.        Returns  an errorlevel of 0 if no keystroke is waiting,  else  if
  2071.        one is ready, then an errorlevel of 1 is returned.
  2072.  
  2073.  
  2074.  
  2075.        SNGLBOX sr sc er ec bc fc
  2076.  
  2077.        Draws  a box, using single line graphics, starting at  row  'sr',
  2078.        column  'sc'  and  ending at row 'er',  column  'ec',  using  the
  2079.        optional colors 'bc' and 'fc' (background an foreground).
  2080.  
  2081.        EXAMPLE 1:
  2082.                  SNGLBOX 5 5 10 30
  2083.  
  2084.        Draws a box starting at row 5, column 5 thru row 10, column 30.
  2085.  
  2086.        EXAMPLE 2:
  2087.                  SNGLBOX 5 5 10 30 1 7
  2088.  
  2089.        Same as example 1, except the box is drawn in white on blue.
  2090.  
  2091.  
  2092.                  SOUND [d t]
  2093.  
  2094.        Sounds  the speaker for about 1 second, or for duration  'd'  and
  2095.        tone 't'.
  2096.  
  2097.        EXAMPLE 1:
  2098.                  SOUND
  2099.  
  2100.        Sounds the speaker at about 100 hz for 1 second.
  2101.  
  2102.        EXAMPLE 2:
  2103.                  SOUND 10 20
  2104.  
  2105.        Sounds the speaker for about 2 seconds at about 200 herz.
  2106.  
  2107.  
  2108.                  SROWS
  2109.  
  2110.        Returns an errorlevel equal to the cursor row.
  2111.  
  2112.  
  2113.                  STRING r c bc fc [/P] [/Sp]
  2114.  
  2115.        Displays  or prints 'r' number of 'c' characters, where  'r'  and
  2116.        'c' are both decimal values.  The background 'bc' and  foreground
  2117.        'fc'  colors  may be specified, and specifying  '/P'  will  print
  2118.        instead of displaying the string, while using '/Sp' will  display
  2119.        the string on the selected video page.
  2120.  
  2121.        EXAMPLE 1:
  2122.                  STRING 5 65
  2123.  
  2124.        Displays 5 A's at the current cursor location.
  2125.  
  2126.        {STRING}  continued
  2127.  
  2128.        EXAMPLE 2:
  2129.                  STRING 5 65 1 7
  2130.  
  2131.        Same  as  example 1, except the string is displayed as  white  on
  2132.        blue characters.
  2133.  
  2134.        EXAMPLE 3:
  2135.                  STRING 5 65 /P
  2136.  
  2137.        5 A's are sent to the PRN device.
  2138.  
  2139.        EXAMPLE 4:
  2140.                  STRING 5 65 /S2
  2141.  
  2142.        Same  as example 1, except that the characters are  displayed  on
  2143.        page 2, which may or may not be the active video page.
  2144.  
  2145.  
  2146.                  SUB vname v
  2147.  
  2148.        Subtracts the decimal value 'v' from the Dos variable 'vname'.
  2149.  
  2150.        EXAMPLE :
  2151.  
  2152.        Assume  :  AMNT=45,  where  AMNT is  a  Dos  variable,  then  the
  2153.        following line :
  2154.  
  2155.                  SUB AMNT 5
  2156.  
  2157.        Would result in the variable result of AMNT=40.
  2158.  
  2159.        NOTE:  decimal  value 'v' is optional, and if  not  specified,  a
  2160.        value of 1 is subtracted from 'vname'.
  2161.  
  2162.  
  2163.                  SWIDTH
  2164.  
  2165.        Returns  an  errorlevel equal to the column width  of  the  video
  2166.        system  in use. If your video system is in 80 column  mode,  then
  2167.        this would return an errorlevel of 80.
  2168.  
  2169.  
  2170.                  WAIT n
  2171.  
  2172.        Pauses  the system for 'n' seconds or milliseconds.  If 'n' is  a
  2173.        value  larger  than 9, then the pause is in  milliseconds,  while
  2174.        values between 1 and 9 are  in seconds.
  2175.  
  2176.  
  2177.  
  2178.                  WAITILL hh:mm:ss
  2179.  
  2180.        Pauses  the system until the specified time.  The specified  time
  2181.        must  be in the above format, including the colons.  You may  not
  2182.        specify the time as either an hour, or hour and minutes, in other
  2183.        words, the time must include hours, minutes and seconds.  If  the
  2184.        correct  time  is  not  specified, then an  errorlevel  of  1  is
  2185.        returned.
  2186.  
  2187.  
  2188.                  WAITM n
  2189.  
  2190.        Pauses the system for 'n' minutes, where n may be a decimal value
  2191.        between 1 and 9.
  2192.  
  2193.  
  2194.                  WHATDAY
  2195.  
  2196.        Returns an errorlevel between 1 an 7 for the day of week, where :
  2197.  
  2198.                  1=Sunday              2=Monday
  2199.                  3=Tuesday             4=Wednesday
  2200.                  5=Thursday            6=Friday
  2201.                  7=Saturday
  2202.  
  2203.  
  2204.                  WHATHR
  2205.  
  2206.        Returns  an errorlevel equal to the hour of the day, in  24  hour
  2207.        format.  IE...2=2AM 14=2PM
  2208.  
  2209.  
  2210.                  WHATMIN
  2211.  
  2212.        Returns an errorlevel equal to the current minute.
  2213.  
  2214.  
  2215.                  WHATMO
  2216.  
  2217.        Returns an errorlevel equal to the current month, where :
  2218.  
  2219.                  1=January             2=February
  2220.                  3=March               4=April
  2221.                  5=May                 6=June
  2222.                  7=July                8=August
  2223.                  9=September          10=October
  2224.                 11=November           12=December
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.                  WHATYR
  2232.  
  2233.        Returns  and errorlevel equal to the number of years since  1980.
  2234.        If  the current year is 1988, then this function will  return  an
  2235.        errorlevel of 8.
  2236.  
  2237.  
  2238.                  WRITE /LcRlPpXNCbc fc,message
  2239.                  WRITE message /LcRlPpXNCbc fc
  2240.  
  2241.        Displays the string 'message', using the following options :
  2242.  
  2243.                  Lc = use left margin 'c'
  2244.                  Rl = use line 'l'
  2245.                  Pp = use page 'p'
  2246.                  X  = center on line
  2247.                  N  = no CR/LF at end of line
  2248.                  Cbc fc = color, where :
  2249.                        bc = background
  2250.                        fc = foreground
  2251.  
  2252.        Notice the comma between the message and the switch list, in  the
  2253.        first syntax version, this is required, only in the first syntax.
  2254.  
  2255.        EXAMPLE 1:
  2256.                  WRITE
  2257.  
  2258.        Moves the cursor down one line, and to the left column.
  2259.  
  2260.        EXAMPLE 2:
  2261.                  WRITE Hi there
  2262.  
  2263.        Displays the message "Hi there" at the current column and line.
  2264.  
  2265.        EXAMPLE 3:
  2266.                  WRITE /L8,Hi there
  2267.  
  2268.        Displays  the  message  "Hi there" on the current  line,  and  at
  2269.        column 8.
  2270.  
  2271.        EXAMPLE 4:
  2272.                  WRITE /R5,Hi there
  2273.  
  2274.        Displays  the  message  "Hi there" on line  5,  and  the  current
  2275.        column.
  2276.  
  2277.  
  2278.  
  2279.  
  2280.  
  2281.  
  2282.        {WRITE}   continued
  2283.  
  2284.        EXAMPLE 5:
  2285.                  WRITE /P2,Hi there
  2286.  
  2287.        Displays the message "Hi there" at the current line and column on
  2288.        page 2, which may or may not be the active video page.
  2289.  
  2290.        EXAMPLE 6:
  2291.                  WRITE /X,Hi there
  2292.  
  2293.        Displays the message "Hi there" on the current line, centered.
  2294.  
  2295.        EXAMPLE 7:
  2296.                  WRITE /N,Hi there
  2297.  
  2298.        Displays  the message "Hi there" at the current line and  column,
  2299.        but leaves the cursor at the end of the line.
  2300.  
  2301.        EXAMPLE 8:
  2302.                  WRITE /C1 7,Hi there
  2303.  
  2304.        Displays  the message "Hi there" at the current line and  column,
  2305.        using white on blue.
  2306.  
  2307.        EXAMPLE 9:
  2308.                  WRITE /L8R5P2NC1 7,Hi there
  2309.  
  2310.        Displays  the  message "Hi there" on line 5, column  8,  page  2,
  2311.        using white on blue, and leaves the cursor at the end of the line
  2312.  
  2313.        EXAMPLE 10:
  2314.                  WRITE /R5XP2C1 7,Hi there
  2315.  
  2316.        Displays the message "Hi there", centered on line 5, using  white
  2317.        on blue, on video page 2.
  2318.  
  2319.        EXAMPLE 11:
  2320.                  WRITE Hi there /R5XP2C1 7
  2321.  
  2322.        Same as example 10.
  2323.  
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348.  
  2349.  
  2350.  
  2351.  
  2352.  
  2353.  
  2354.  
  2355.  
  2356.  
  2357.  
  2358.  
  2359.  
  2360.  
  2361.  
  2362.  
  2363.  
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369.  
  2370.  
  2371.  
  2372.  
  2373.  
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.                  WRITEF fname [/Pp]
  2380.  
  2381.        Displays file 'fname' (max of 4 kbytes), using the current column
  2382.        position as the left margin, starting at the current line number,
  2383.        using any existing colors as already may be on the display.   The
  2384.        optional page 'p' may be specified with the '/P' switch.
  2385.  
  2386.        EXAMPLE 1:
  2387.                  WRITEF MENU
  2388.  
  2389.        Displays the file MENU.
  2390.  
  2391.        EXAMPLE 2:
  2392.                  WRITEF MENU /P2
  2393.  
  2394.        Displays the file MENU on video page 2.
  2395.  
  2396.  
  2397.                  XMSCK
  2398.  
  2399.        Returns  an errorlevel of 1 if an extended memory  device  driver
  2400.        has been installed, else returns an errorlevel of 0.
  2401.  
  2402.  
  2403.                  YN [message]
  2404.  
  2405.        Returns an error level of 1 if the 'n' key is depressed or a 0 if
  2406.        the 'y' key is depressed.  YN accepts either upper or lower case,
  2407.        and any key depressed but Y or N results in the speaker  beeping.
  2408.        Optionally  a  message may be displayed, at  the  current  cursor
  2409.        position.
  2410.  
  2411.        EXAMPLE 1:
  2412.                  YN
  2413.  
  2414.        Waits for either the Y or N key to be depressed.
  2415.  
  2416.        EXAMPLE 2:
  2417.                  YN Are you running Dos?
  2418.  
  2419.        Displays  the  message  "Are you running Dos?",  then  waits  for
  2420.        either the Y or N key to be depressed.
  2421.  
  2422.  
  2423.  
  2424.  
  2425.  
  2426.  
  2427.  
  2428.  
  2429.  
  2430.  
  2431.  
  2432.  
  2433.  
  2434.  
  2435.  
  2436.  
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.                  YRSINCE yyyy
  2445.  
  2446.        Returns an errorlevel equal to the difference of the current date
  2447.        subtracted from the specified date yyyy.  If the date is  entered
  2448.        as 2 digits, then the century is assumed to be 1900.
  2449.  
  2450.        EXAMPLE:
  2451.                  YRSINCE 1980
  2452.  
  2453.        Returns an ERRORLEVEL of 8, if the current year is 1988.
  2454.  
  2455.  
  2456.                  YRSTILL yyyy
  2457.  
  2458.        Returns an errorlevel equal to the difference of the current year
  2459.        and the specified year.  If the specified year is 2 digits,  then
  2460.        the year is assumed to be in the 19th century.
  2461.  
  2462.        EXAMPLE 1:
  2463.                  YRSTILL 1990
  2464.  
  2465.        Assuming the current year is 1987, then this function will return
  2466.        an errorlevel of 2.
  2467.  
  2468.        EXAMPLE 2:
  2469.                  YRSTILL 90
  2470.  
  2471.        Same as example 1.
  2472.  
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.  
  2484.  
  2485.  
  2486.  
  2487.  
  2488.  
  2489.  
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.